Redundant array of independent disks (RAID) systems have been developed to provide protection against disk failure. However, Direct Attached Storage (DAS) RAID controllers are defenseless against server failure, since by definition the data storage system is embedded inside a server. If the server dies, the RAID controller dies, and the stored data is temporarily unavailable until the server and RAID controller are brought back online. To counter this problem, enterprise customers with critical data often utilize High Availability DAS clusters including two or more server nodes, each having an embedded DAS system with a RAID controller which are in turn connected to the same set of disks in an enclosure. The disks are separately powered and even if a server dies, the RAID system of the other server picks up the disks to serve IO in a non-disruptive mode.
These multi-server DAS clusters have been known to develop multi-initiator problems arising when more than one server attempt to simultaneously access data stored on the same drive. The conventional solutions to this problem include dual-active configurations in which each drive is “owned” by only one server, which provided exclusive control over access to its own drives. While this approach avoids multi-initiator conflicts, it can result in a high volume of data (IO) shipping between servers. Alternatively, the drives may be configured in an active-passive configuration in which only one server is active at a time and the second server becomes active only when the first server fails. Both approaches have drawbacks when upper layer send IO to both servers, since IOs to non-owned disks need to be shipped to the other server.
There is, therefore, a continuing need for improved high availability DAS systems. More particularly, there is a need for improved DAS clusters that overcome the shortcomings of conventional active-passive and dual-active DAS clusters.